// ShowPage.cs
// Facebook/Framework/Service
// Copyright (c) 2007, Nikhil Kothari. All Rights Reserved.
//

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Globalization;
using Facebook.Service.Core;

namespace Facebook.Service {

    /// <summary>
    /// The TV show or film information associated with a PresencePage.
    /// </summary>
    public sealed class ShowPage : FacebookEntity {

        internal ShowPage(Hashtable pageState)
            : base(pageState) {
        }

        /// <summary>
        /// Any awards won by the show.
        /// </summary>
        public string Awards {
            get {
                return GetState<string>("awards");
            }
        }

        /// <summary>
        /// The cast of the show.
        /// </summary>
        public string Cast {
            get {
                return GetState<string>("starring");
            }
        }

        /// <summary>
        /// The director of the show.
        /// </summary>
        public string Director {
            get {
                return GetState<string>("directed_by");
            }
        }

        /// <summary>
        /// The genre of the show.
        /// </summary>
        public string Genre {
            get {
                return GetState<string>("genre");
            }
        }

        /// <summary>
        /// The network associated with the show.
        /// </summary>
        public string Network {
            get {
                return GetState<string>("network");
            }
        }

        /// <summary>
        /// The story of the show.
        /// </summary>
        public string PlotOutline {
            get {
                return GetState<string>("plot_outline");
            }
        }

        /// <summary>
        /// The producer of the show.
        /// </summary>
        public string Producer {
            get {
                return GetState<string>("produced_by");
            }
        }

        /// <summary>
        /// The release date of the show.
        /// </summary>
        public string ReleaseDate {
            get {
                return GetState<string>("release_date");
            }
        }

        /// <summary>
        /// The name of the person creating the screenplay for the show.
        /// </summary>
        public string Screenplay {
            get {
                return GetState<string>("screenplay_by");
            }
        }

        /// <summary>
        /// The season of the show if applicable.
        /// </summary>
        public string Season {
            get {
                return GetState<string>("season");
            }
        }

        /// <summary>
        /// The schedule of the show.
        /// </summary>
        public string Schedule {
            get {
                return GetState<string>("schedule");
            }
        }

        /// <summary>
        /// The studio where the show was produced.
        /// </summary>
        public string Studio {
            get {
                return GetState<string>("studio");
            }
        }

        /// <summary>
        /// The writer of the show.
        /// </summary>
        public string Writer {
            get {
                return GetState<string>("written_by");
            }
        }
    }
}
